﻿using FluentNHibernate.Mapping;
using Entidades;
using Persistencia.Mappings.Extensions;

namespace Persistencia.Mappings
{
    /// <summary>
    /// Mapeo para la clase ParametroImportacion
    /// </summary>
    public class ParametroImportacionMap : ClassMap<ParametroImportacion>
    {
        /// <summary>
        /// Constructor por defecto
        /// </summary>
        public ParametroImportacionMap()
        {
            Table("PARAMETRO_IMPORTACION");
            
            this.DefaultMap();

            Map(x => x.ValidacionTimeCodeFaltante).Column("ValidacionTimeCodeFaltante");
            Map(x => x.ValidacionTimeCodeFormatoIncorrecto).Column("ValidacionTimeCodeFormatoIncorrecto");
            Map(x => x.ValidacionTimeCodeSecuenciaIncorrecta).Column("ValidacionTimeCodeSecuenciaIncorrecta");            

            Map(x => x.ValidacionFilaVacia).Column("ValidacionFilaVacia");
            
            Map(x => x.HabilitadoLoopsPorPalabras).Column("HabilitadoLoopsPorPalabras");
            Map(x => x.HabilitadoLoopsPorSegundos).Column("HabilitadoLoopsPorSegundos");
            Map(x => x.PalabrasPorLoop).Column("PalabrasPorLoop");
            Map(x => x.SegundosPorLoop).Column("SegundosPorLoop");

            Map(x => x.HabilitadoTraductor).Column("HabilitadoTraductor");
            Map(x => x.HabilitadoProyecto).Column("HabilitadoProyecto");
            Map(x => x.HabilitadoEpisodio).Column("HabilitadoEpisodio");
            Map(x => x.HabilitadoClave).Column("HabilitadoClave");
            Map(x => x.HabilitadoTituloTraducido).Column("HabilitadoTituloTraducido");
            Map(x => x.HabilitadoTituloOriginal).Column("HabilitadoTituloOriginal");
            Map(x => x.HabilitadoDuracion).Column("HabilitadoDuracion");

            Map(x => x.TablaTraductor).Column("TablaTraductor");
            Map(x => x.TablaProyecto).Column("TablaProyecto");
            Map(x => x.TablaEpisodio).Column("TablaEpisodio");
            Map(x => x.TablaClave).Column("TablaClave");
            Map(x => x.TablaTituloTraducido).Column("TablaTituloTraducido");
            Map(x => x.TablaTituloOriginal).Column("TablaTituloOriginal");
            Map(x => x.TablaDuracion).Column("TablaDuracion");

            Map(x => x.ColumnaTraductor).Column("ColumnaTraductor");
            Map(x => x.ColumnaProyecto).Column("ColumnaProyecto");
            Map(x => x.ColumnaEpisodio).Column("ColumnaEpisodio");
            Map(x => x.ColumnaClave).Column("ColumnaClave");
            Map(x => x.ColumnaTituloTraducido).Column("ColumnaTituloTraducido");
            Map(x => x.ColumnaTituloOriginal).Column("ColumnaTituloOriginal");
            Map(x => x.ColumnaDuracion).Column("ColumnaDuracion");

            Map(x => x.FilaTraductor).Column("FilaTraductor");
            Map(x => x.FilaProyecto).Column("FilaProyecto");
            Map(x => x.FilaEpisodio).Column("FilaEpisodio");
            Map(x => x.FilaClave).Column("FilaClave");
            Map(x => x.FilaTituloTraducido).Column("FilaTituloTraducido");
            Map(x => x.FilaTituloOriginal).Column("FilaTituloOriginal");
            Map(x => x.FilaDuracion).Column("FilaDuracion");

            Map(x => x.HabilitadoAnotacionActor).Column("HabilitadoAnotacionActor");
            Map(x => x.AnotacionActor).Column("AnotacionActor");
            Map(x => x.HabilitadoAnotacionDirector).Column("HabilitadoAnotacionDirector");
            Map(x => x.AnotacionDirector).Column("AnotacionDirector");

            Map(x => x.HabilitadoAnotacionTimeCodeResetHora).Column("HabilitadoAnotacionTimeCodeResetHora");
            Map(x => x.AnotacionTimeCodeResetHora).Column("AnotacionTimeCodeResetHora");
        }
    }
}
